#ifndef _LOGGER_H
#define _LOGGER_H

#include <string>
#include <iostream>
#include <fstream>
#include <time.h>
#include <ctime>
#include <sstream>

#include "Singleton.h"

#ifdef GALLIUMENGINE_DLL 
#define GALLIUMENGINE_API __declspec( dllexport )
#else
#define GALLIUMENGINE_API __declspec( dllimport )
#endif

namespace GalliumEngine
{

	class Logger : public Singleton<Logger>
	{
	private:
		std::string logFile;
		bool isEnabled;
	public:
		GALLIUMENGINE_API Logger();
		GALLIUMENGINE_API ~Logger();

		GALLIUMENGINE_API void initialize(std::string fileName, bool enabled, bool date);
		GALLIUMENGINE_API void write(std::string message);
	};

}


#endif
